package com.elot.dto;

import java.util.Date;
import java.util.List;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import org.springframework.stereotype.Component;

import com.elot.core.enums.DayLotEnum;
import com.elot.core.enums.NumberLotEnum;
import com.google.appengine.api.datastore.Key;

@Component
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class LotDto {

	private Key id;
	
	private UserDto creator;
	
	private String title;
	private String seo;
	private String comment;
	private List<String> urlPhoto;
	private List<String> urlVideo;
	private Float price;
	
	private Integer numberTicket;
	private List<BankAccountDto> bankAccounts;
	private DayLotEnum whenDayLot;
	private NumberLotEnum whatNumberLot;
	
	private List<TicketDto> tickets;
	private Date dayLot;
	
	@PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	public Key getId() {
		return id;
	}
	public void setId(Key id) {
		this.id = id;
	}
	
	public LotDto() {
	}
	
	@Persistent
	public UserDto getCreator() {
		return creator;
	}
	public void setCreator(UserDto creator) {
		this.creator = creator;
	}
	@Persistent
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	@Persistent
	public String getComment() {
		return comment;
	}
	public void setComment(String comment) {
		this.comment = comment;
	}
	@Persistent
	public List<String> getUrlPhoto() {
		return urlPhoto;
	}
	public void setUrlPhoto(List<String> urlPhoto) {
		this.urlPhoto = urlPhoto;
	}
	@Persistent
	public List<String> getUrlVideo() {
		return urlVideo;
	}
	public void setUrlVideo(List<String> urlVideo) {
		this.urlVideo = urlVideo;
	}
	@Persistent
	public Integer getNumberTicket() {
		return numberTicket;
	}
	public void setNumberTicket(Integer numberTicket) {
		this.numberTicket = numberTicket;
	}
	@Persistent
	public List<BankAccountDto> getBankAccounts() {
		return bankAccounts;
	}
	public void setBankAccounts(List<BankAccountDto> bankAccounts) {
		this.bankAccounts = bankAccounts;
	}
	@Persistent
	public DayLotEnum getWhenDayLot() {
		return whenDayLot;
	}
	public void setWhenDayLot(DayLotEnum whenDayLot) {
		this.whenDayLot = whenDayLot;
	}
	@Persistent
	public NumberLotEnum getWhatNumberLot() {
		return whatNumberLot;
	}
	public void setWhatNumberLot(NumberLotEnum whatNumberLot) {
		this.whatNumberLot = whatNumberLot;
	}
	@Persistent
	public List<TicketDto> getTickets() {
		return tickets;
	}
	public void setTickets(List<TicketDto> tickets) {
		this.tickets = tickets;
	}
	@Persistent
	public Date getDayLot() {
		return dayLot;
	}
	public void setDayLot(Date dayLot) {
		this.dayLot = dayLot;
	}
	@Persistent
	public Float getPrice() {
		return price;
	}
	public void setPrice(Float price) {
		this.price = price;
	}
	@Persistent
	public String getSeo() {
		return seo;
	}
	public void setSeo(String seo) {
		this.seo = seo;
	}
	
	
}
